// pages/wholesale/cateFilter/cateFilter.js
const fetchSev = require("../../utils/util.js").fetchSev;
const getCraftUrl = require("../../config.js").getCraftUrl;  // 获取工艺列表
const getMetalList = require("../../config.js").getMetalList;  // 成色列表
const app = getApp();

Page({

  /**
   * 页面的初始数据
   */
  data: {
    minWeight: '',   // 最小克重
    maxWeight: '',   // 最大克重

    craftList: [],    // 效果工艺列表
    curCraft: '',     // 选中的效果工艺
    craftShow: false, // 效果工艺列表显示与隐藏

    metalList: [],  // 成色列表
    curMetal: '',   // 选中的成色
    metalShow: false,  // 控制成色列表的显示与隐藏
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
  
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {
  
  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {
    
    this._getMetalList();  // 获取工艺列表
    this._getCraftList();  // 获取成色列表
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {
  
  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {
  
  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {
  
  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {
  
  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {
  
  },


  /**
   * 成色列表与成色选择
   */
  _getMetalList: function () {
    fetchSev(getMetalList, 'GET', {}, function (res) {
      console.log('成色列表', res);
      let arr = res || [];
      arr.unshift({ id: '', name: '全部' });
      this.setData({ metalList: arr });
    }.bind(this));
  },
  // 展开成色列表
  _showMetal: function () {
    this.setData({ craftShow: false });
    this.setData({ metalShow: true });
  },
  // 选择成色
  _metalSel: function (e) {
    const curMetal = e.currentTarget.dataset.item;
    this.setData({ curMetal: curMetal });
    this.setData({ metalShow: false });
  },


  /**
   * 效果工艺列表与效果工艺选择
   */
  _getCraftList: function() {
    fetchSev(getCraftUrl, 'GET', {}, function(res) {      
      let arr = res.data || [];
      arr.unshift({id: '', name: '全部'});
      this.setData({craftList: arr});
      console.log('效果工艺列表', this.data.craftList);
    }.bind(this));
  },
  // 展开效果工艺列表
  _showCraft: function() {
    this.setData({ metalShow: false }); 
    this.setData({ craftShow: true });
  },
  // 选择效果工艺
  _craftSel: function(e) {
    console.log(e);
    const curCraft = e.currentTarget.dataset.item;
    this.setData({curCraft: curCraft});
    this.setData({craftShow: false});
  },


  



  /**
   * 克重范围
   */
  _minWeightChange: function(e) {
    const val = e.detail.value;
    this.setData({minWeight: val});
  },
  _maxWeightChange: function(e) {
    const val = e.detail.value;
    this.setData({ maxWeight: val });
  },



  /**
   * 重置与确定
   */
  _reset: function() {
    // 克重范围重置
    this.setData({ minWeight: '' });
    this.setData({ maxWeight: '' });
    // 成色重置
    this.setData({ curMetal: ''});
    this.setData({ metalShow: false});
    // 效果工艺重置
    this.setData({ curCraft: '' });
    this.setData({ craftShow: false });
  },
  _confirm: function() {
    const spuFilter = {
      minWeight: this.data.minWeight,  // 最小克重
      maxWeight: this.data.maxWeight,  // 最大克重
      metalId: this.data.curMetal.id,  // 成色id
      craftId: this.data.curCraft.id   // 效果工艺id
    };
    // 克重范围大小关系验证
    if (spuFilter.minWeight || spuFilter.maxWeight) {
      if (parseFloat(spuFilter.minWeight || 0) > parseFloat(spuFilter.maxWeight || 0)) {
        wx.showToast({
          title: '克重范围输入有误',
          icon: 'none'
        });
        return;
      }
    }
    // 设置大码筛选的全局数据
    app.globalData.spuFilter = spuFilter;
    console.log('spuFilter', app.globalData.spuFilter);
    // 返回至上一页
    wx.navigateBack({
      delta: 1
    });
  },
})